/*
 * @lc app=leetcode id=9 lang=cpp
 *
 * [9] Palindrome Number
 *
 * https://leetcode.com/problems/palindrome-number/description/
 *
 * algorithms
 * Easy (46.86%)
 * Likes:    1987
 * Dislikes: 1486
 * Total Accepted:    827.2K
 * Total Submissions: 1.8M
 * Testcase Example:  '121'
 *
 * Determine whether an integer is a palindrome. An integer is a palindrome
 * when it reads the same backward as forward.
 * 
 * Example 1:
 * 
 * 
 * Input: 121
 * Output: true
 * 
 * 
 * Example 2:
 * 
 * 
 * Input: -121
 * Output: false
 * Explanation: From left to right, it reads -121. From right to left, it
 * becomes 121-. Therefore it is not a palindrome.
 * 
 * 
 * Example 3:
 * 
 * 
 * Input: 10
 * Output: false
 * Explanation: Reads 01 from right to left. Therefore it is not a
 * palindrome.
 * 
 * 
 * Follow up:
 * 
 * Coud you solve it without converting the integer to a string?
 * 
 */

// @lc code=start
class Solution {
public:
    bool isPalindrome(int x) {
        if(x < 0) return false;
        if(x<10) return true;
        int copy = x;
        vector<int> temp;
        int single = 0;
        int count = 0;
        bool flag = true;
        while (copy!=0)
        {
            single = copy%10;
            copy /= 10;
            temp.push_back(single);
            count++;
        }

        for (int i = 0; i < count/2; i++)
        {
            if (temp[i] != temp [count-i-1])
                flag = false;
            
            
        }

        if(flag){
            return true;
        } 
        else{
            return false;
        }
        
}
};

// @lc code=end

